<!DOCTYPE html>
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>ch07-00</title>
    
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="thumbnailviewer.css" type="text/css" />

<script src="thumbnailviewer.js" type="text/javascript">

/***********************************************
* Image Thumbnail Viewer Script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

</script>


  </head>
  
  
<div class="os1">第7章 文件和数据流</div>
<br />
在学习较复杂的控件之前，我们先学习一下文件系统和文件读写的相关知识，几乎所有的应用程序都要在文件系统中进行文件访问和读写操作，因此必须扎实地学好文件操作类。Qt 中涉及文件操作的类比较多，本章先介绍文件系统基本知识，然后重点介绍最常用的三个大类 QFile、QTextStream、QDataStream，第一个 QFile 是基本的文本读写，可以读写文本或二进制数据文件，第二个 QTextStream 专门处理各种字符编码的文本文件，并会自动处理本地化编码，第三个 QDataStream 用于对 Qt 涉及的数据类型进行串行化打包，这样程序员可以省去自己定义结构体的麻烦。本章最后附带介绍一些文件操作的其他几个类。

<br />
<br />
本章 7.1 节介绍文件系统相关知识，并简要介绍 Qt 文件系统相关的类，实现文件查找和判断。<br />
7.2 节开始介绍基本的文件读取写入，即通过 QFile 类操作指定文件。<br />
7.3 节介绍文本流 QTextStream，这是专门用于操作不同编码格式的文本文本，
并自动处理本地化编码。一般本地文本文件和命令行数据读写都可以用这个类。<br />
7.4 节介绍串行化数据流 QDataStream，对于 Qt 知道的所有数据类型，包括 C++ 基本类型和 Qt 自带数据类型，都可以使用 QDataStream 自动打包成整体的数据块，可以用于网络传输和本地文件读写。<br />
7.5 节介绍文件操作相关的其他类，比如文件安全写入类 QSaveFile、丰富文本文件写入类 QTextDocumentWriter、临时文件操作 QTemporaryDir 和 QTemporaryFile 。<br />





<br />
<br />
<br />

<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
	<tbody>
	<tr>
		<td style="width: 40%;"><div style="text-align: center;"><a href="ch06-06.htm"><img class="pic" style="width: 32px; height: 32px;" alt="prev" src="images/pics/prev.png" /></a></div></td>
		<td style="width: 20%;"><div style="text-align: center;"><a href="contents.htm"><img class="pic" style="width: 32px; height: 32px;" alt="contents" src="images/pics/contents.png" /></a></div></td>
		<td style="width: 40%;"><div style="text-align: center;"><a href="ch07-01.htm"><img class="pic" style="width: 32px; height: 32px;" alt="next" src="images/pics/next.png" /></a></div></td>
	</tr>
</tbody>
</table>
</html>
